const User = require('../models/authModel');
const bcrypt = require('bcrypt');
const db = require('../db');  // 根据实际路径调整


exports.login = async (req, res) => {
  const { username, password } = req.body; // 从请求体中获取用户名和密码

  try {
      // 查找用户
      const user = await User.findByUsername(username);
      // console.log('User found:', user); // 打印查找到的用户
      if (!user || user.length === 0) {
          return res.status(404).json({ message: 'User not found' });
      }
  
      // 确保 user.passwordHash 存在
      if (!user[0].password) {
          return res.status(500).json({ message: 'Password hash not found for user' });
      }
  
      // 比较密码
      const isMatch = await bcrypt.compare(password, user[0].password);
      if (!isMatch) {
          return res.status(401).json({ message: 'Invalid password' });
      }
        // 更新 role 字段为 'leader'（如果认证通过）
        const updateQuery = 'UPDATE users SET role = ? WHERE username = ?';
        const [updateResult] = await db.promise().query(updateQuery, ['leader', username]);
  
        if (updateResult.affectedRows > 0) {
            console.log(`User ${username} role updated to 'leader'`);
        } else {
            console.log('No update to user role');
        }
    // 返回成功认证结果
    res.json({ success: true });
  } catch (err) {
    console.error(err);
    res.status(500).json({ success: false, message: '服务器内部错误' });
  }
};
